/*
-----------------------------------------------------------------------------
Filename:    WalkingEnemy.h
Author: Not Michael Sebright
-----------------------------------------------------------------------------
Defines the walking enemy
*/

#ifndef __WalkingEnemy_H__
#define __WalkingEnemy_H__

#include "Ogre.h"
#include "OIS.h"
#include "Bullet.h"

using namespace Ogre;

 

class WalkingEnemy {
private:
	int ammoIndex;	//current index for bullets
	void setupWeapons(SceneManager* sceneMgr);
	void updateBullets(Real deltaTime);
	int deathCounter; //frames since death up to 90
	bool alive;
	SceneManager* mSceneMgr;
	Camera* cam;
public:
	void animate(FrameEvent evt);			//Per frame animations
	WalkingEnemy(Camera* cam);				
	WalkingEnemy(Camera* cam, Vector3 vect); 
	Ogre::Real mDistance;                  // The distance the object has left to travel
    Ogre::Vector3 mDirection;              // The direction the object is moving
    Ogre::Vector3 mDestination;            // The destination the object is moving towards
	Real mWalkSpeed;						//walk speed of enemy
    Ogre::AnimationState *mAnimationState; // The current animation state of the object
    Ogre::Entity *mEntity;                 // The Entity we are animating
	 Ogre::SceneNode *lNode;    
    Ogre::SceneNode *mNode;                
	void updateDest(Vector3 vect);
	void setAnimationDie();
	bool isDead();
	std::list<Bullet *> activeBullets();
	Vector3 getLocation();
	Bullet b;								//Robots only bullet
	//Bullet b2;
};

#endif